/**
 * Project Name:dsrs-systemservice-domain
 * File Name:PwdRuleVo.java
 * Package Name:com.bwda.dsrs.systemservice.domain.vo.pwdrule;
 * Date:2019年4月28日
 * Copyright (c) 2019, 江苏保旺达软件有限公司 All Rights Reserved.
 */
package com.bwda.dsrs.systemservice.domain.vo.pwdrule;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 密码规则
 *
 * @author liangjianyong
 * @date 2019/4/8
 */
@Data
@ApiModel(description = "密码规则")
public class PwdRuleVo {

	@ApiModelProperty(value = "密码规则ID", required = true)
	private Integer id;

	@ApiModelProperty(value = "规则名称")
	private String ruleName;

	@ApiModelProperty(value = "0不做要求1包含")
	private Integer hasNumber;

	@ApiModelProperty(value = "0不做要求1包含")
	private Integer hasUpper;

	@ApiModelProperty(value = "0不做要求1包含")
	private Integer hasLower;

	@ApiModelProperty(value = "0不做要求1包含")
	private Integer hasSpecial;

	@ApiModelProperty(value = "特殊字符列举!@#$%^&")
	private String characters;

	@ApiModelProperty(value = "是否允许包含用户名 0可以1不可以")
	private Integer hasUserName;

	@ApiModelProperty(value = "连续字符（长度）")
	private Integer continuousLength;

	@ApiModelProperty(value = "0不做弱密码校验1启用弱密码检验")
	private Integer isWeakPwdCheck;

	@ApiModelProperty(value = "验证码:0:一直不启用1.一直启用 2.登录失败")
	private Integer enableVerifiCode;

	@ApiModelProperty(value = "验证码启用选择：登录失败 情况下 几次失败启用")
	private Integer verifiFailTime;

	@ApiModelProperty(value = "历史密码校验")
	private Integer historyPwdTime;

	@ApiModelProperty(value = "0内置1自定义")
	private Integer isDefault;

	@ApiModelProperty(value = "最小长度")
	private Integer minLength;

	@ApiModelProperty(value = "最大长度")
	private Integer maxLength;

	@ApiModelProperty(value = "有效期")
	private Integer validDays;

	@ApiModelProperty(value = "提前告知天数")
	private Integer notifyDays;

	@ApiModelProperty(value = "允许失败次数")
	private Integer failTimes;

	@ApiModelProperty(value = "0自动解锁1手动解锁")
	private Integer failDeal;

	@ApiModelProperty(value = "冻结后，x分钟后自动解锁")
	private Integer lockTime;

	@ApiModelProperty(value = "敏感等级")
	private Integer secretLevel;

    @ApiModelProperty(value = "0正常 1禁用")
    private Integer status;

    @ApiModelProperty(value = "创建人code")
    private String createUserCode;

    @ApiModelProperty(value = "创建人姓名")
    private String createUserName;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改人code")
    private String updateUserCode;

    @ApiModelProperty(value = "修改人姓名")
    private String updateUserName;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

	@ApiModelProperty(value = "0未删除 1已删除")
	private Integer delFlag;

	public Date getCreateTime() {
		if (createTime != null){
			return (Date) createTime.clone();
		}

		return null;
	}

	public void setCreateTime(Date createTime) {
		if (createTime != null){
			this.createTime = (Date) createTime.clone();
		}
	}

	public Date getUpdateTime() {
		if (updateTime != null){
			return (Date) updateTime.clone();
		}

		return null;
	}

	public void setUpdateTime(Date updateTime) {
		if (updateTime != null){
			this.updateTime = (Date) updateTime.clone();
		}
	}
}